package org.mango.sort;


import org.mango.utils.Constant;
import org.mango.utils.MangoUtils;

/**
 * 
 * @author 戴礼明
 *日期： 2016-4-23
 *content：选择排序（从未排好的部分的第一个作为最小（最大）的，然后依次和剩余的比较，如果有更小（更大）的，记下下标，以此作为新的最小（最大）值，继续比较，一趟结束后，然后和第一个进行交换）
 */
public class SelectionSort {

	 public static int[] getSelectSort(int[] arr){
		 int tmp;
		 int k ;
		 for(int i=0;i<arr.length-1;i++){
		 	k = i;
			 for(int j=i+1;j<arr.length;j++){
				   if(arr[k]>arr[j]){
					    k = j;
				   }
			 }
			 if (k != i){
				 tmp=arr[i];
				 arr[i]=arr[k];
				 arr[k]=tmp;
			 }
			 MangoUtils.showAllArray(arr, i);
		 }
		return arr;
	 }
	 
	 public static void main(String[] args) {
		 MangoUtils.showAllArray(Constant.array);
		 int[] cur=getSelectSort(Constant.array);
		 MangoUtils.showAllArray(cur);
	}
}
